package it.uniroma2.art.owlart.owlimimpl.reasoning;

public enum RuleSet {
	empty, rdfs, owl_horst, owl_horst_optimized, owl_max, owl2_ql, owl2_rl_reduced, owl2_rl_conf;
	
	public boolean isRDFSReasoning() {
		if (this == empty)
			return false;
		return true;
	}
	
	public boolean isAtLeastHorst() {
		if (this == empty || this == rdfs)
			return false;
		return true;
	}
	
	public static RuleSet getValue(String name) throws InvalidRuleSetSpecificationException {	
		try {
			return Enum.valueOf(RuleSet.class, name.replace('-', '_'));	
		} catch (IllegalArgumentException e) {
			throw new InvalidRuleSetSpecificationException("there is no ruleset with name: " + name);
		}		
	}	
}

